<?php
class Usuario_model extends CI_Model {

	public function __construct()
	{
		$this->load->database();
	}
	
	public function verify_user($username, $password) {

        $this->db->from('usuario');
		$this->db->where('usuario', $username);
        $this->db->where('password', $password);
		$this->db->where("(idPerfil=1 or idPerfil=3)");
		
        $query = $this->db->get();
        $this->db->close();
        if ($query->num_rows != 1) {
            return FALSE;
        }
        return TRUE;
    }
	
	public function get_all_empleados(){
		$this->db->from('empleado');
		$this->db->join('usuario','usuario.idUsuario=empleado.idUsuario');
		$query = $this->db->get();
		return $query->result_array();
	}
	
	public function get_by_user($username) {
        $this->db->where('usuario', $username);
        $query = $this->db->get('usuario');
        $this->db->close();
        return $query->row_array();
    }
	
	public function get_user_by_id($id = FALSE)
	{
		if ($id === FALSE)
		{
			$query = $this->db->get('usuario');
			return $query->result_array();
		}

		$query = $this->db->get_where('usuario', array('idusuario' => $id));
		return $query->row_array();
	}
	
	public function get_by_username($username,$password)
	{
		$this->db->from('usuario');
		$this->db->where('usuario',$username);
		$this->db->where('password',$password);
		$query = $this->db->get();
		
		return $query->result();
	}
	
	function create($data) {
        return $this->db->insert('usuario', $data);
    }
	
	function createEmpleado($data) {
        return $this->db->insert('empleado', $data);
    }
	
	function edit($idUsuario, $data) {
        $this->db->where('idUsuario', $idUsuario);
        return $this->db->update('usuario', $data);
    }
	
	public function set_user_values($usuario, $password, $fechaNacimiento, $apellidos, $nombres, $domicilio, $dni, $telefono, $email, $activo, $idPerfil, $celular)
	{	
		$data = array(
		'usuario'=>$usuario,
		'password'=>$password, 
		'fechaNacimiento'=>$fechaNacimiento,
		'apellidos'=>$apellidos, 
		'nombres'=>$nombres, 
		'domicilio'=>$domicilio,
		'dni'=>$dni, 
		'telefono'=>$telefono, 
		'email'=>$email, 
		'activo'=>$activo, 
		'idPerfil'=>$idPerfil, 
		'celular'=>$celular);
		$this->db->insert('usuario', $data);
		
		$this->db->flush_cache();
	
		$data2 = array('idUsuario'=>$this->get_last_iduser());
		$this->db->insert('ciudadano',$data2);		
		
		return $this->get_last_iduser();		
	}
	
	public function get_last_iduser(){
		$this->db->flush_cache();
        $this->db->select_max('idUsuario');
        $query = $this->db->get('usuario');
        return $query->row(0)->idUsuario;
    }
	
	public function set_regid($iduser,$regid){
	
		$this->db->select("iduser");
		$this->db->from('gcmusers');
		$this->db->where('iduser',$iduser);
		$query = $this->db->get();
		
		if ($query->num_rows()==0)
		{
			$data=array(
			'iduser'=>$iduser,
			'regid'=>$regid);
			$this->db->insert('gcmusers',$data);
		}
		else{
			$data=array(
			'regid'=>$regid);
			$this->db->where('iduser',$iduser);
			$this->db->update('gcmusers',$data);
		}
	}
	
	public function get_regids($idAlerta){
		// $this->db->select("regid");
		// $this->db->from('seguidor');
		// $this->db->where('idAlerta',$idAlerta);
		// $this->db->join('gcmusers','seguidor.idUsuario=gcmusers.iduser');
		// $query = $this->db->get();
		$query = $this->db->query("Select regid from seguidor, gcmusers where seguidor.idUsuario=gcmusers.iduser and idAlerta=".$idAlerta);
		//echo $query->result();
		return $query->row_array();
	}
	
	public function get_regid_by_alerta($idAlerta){
		$query = $this->db->query("select regid from alerta,gcmusers where alerta.idUsuario=gcmusers.iduser and idAlerta=".$idAlerta);
		return $query->row(0)->regid;
	}
	
	public function get_regid_by_empleado(){
		$query = $this->db->query("select regid from empleado,gcmusers where empleado.idUsuario=gcmusers.iduser");
		return $query->row(0)->regid;
	}
	
	public function get_regid_by_post($idPostServicio){
		$query = $this->db->query("select regid from empleado,gcmusers,postServicio where postservicio.idUsuarioCampo=empleado.idUsuario and empleado.idUsuario=gcmusers.iduser");
		return $query->row(0)->regid;
	}

}